package com.ruoyi.squadweb.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * 用户权限变动信息对象 user_permissions_change_log
 *
 * @author ruoyi
 * @date 2024-02-28
 */
public class UserPermissionsChangeLog extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 唯一标识符，自增长 */
    private Long id;

    /** 用户的Steam ID，标识用户身份 */
    @Excel(name = "用户的Steam ID，标识用户身份")
    private String steamid;

    /** 用以区分不同组织或账目的标签 */
    @Excel(name = "用以区分不同组织或账目的标签")
    private String organizationTag;

    /** 权限名称 */
    @Excel(name = "权限名称")
    private String permissionName;

    /** 旧的到期时间，之前没有则为空 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "旧的到期时间，之前没有则为空", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date oldExpiryDate;

    /** 新的到期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "新的到期时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date newExpiryDate;

    /** 记录权限变动的日志信息 */
    @Excel(name = "记录权限变动的日志信息")
    private String note;

    /** 记录操作发生的时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "记录操作发生的时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date operationTime;

    public void setId(Long id)
    {
        this.id = id;
    }

    public Long getId()
    {
        return id;
    }
    public void setSteamid(String steamid)
    {
        this.steamid = steamid;
    }

    public String getSteamid()
    {
        return steamid;
    }
    public void setOrganizationTag(String organizationTag)
    {
        this.organizationTag = organizationTag;
    }

    public String getOrganizationTag()
    {
        return organizationTag;
    }
    public void setPermissionName(String permissionName)
    {
        this.permissionName = permissionName;
    }

    public String getPermissionName()
    {
        return permissionName;
    }
    public void setOldExpiryDate(Date oldExpiryDate)
    {
        this.oldExpiryDate = oldExpiryDate;
    }

    public Date getOldExpiryDate()
    {
        return oldExpiryDate;
    }
    public void setNewExpiryDate(Date newExpiryDate)
    {
        this.newExpiryDate = newExpiryDate;
    }

    public Date getNewExpiryDate()
    {
        return newExpiryDate;
    }
    public void setNote(String note)
    {
        this.note = note;
    }

    public String getNote()
    {
        return note;
    }
    public void setOperationTime(Date operationTime)
    {
        this.operationTime = operationTime;
    }

    public Date getOperationTime()
    {
        return operationTime;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("steamid", getSteamid())
            .append("organizationTag", getOrganizationTag())
            .append("permissionName", getPermissionName())
            .append("oldExpiryDate", getOldExpiryDate())
            .append("newExpiryDate", getNewExpiryDate())
            .append("note", getNote())
            .append("operationTime", getOperationTime())
            .toString();
    }
}
